package br.ufc.si.managedBean;

import java.io.File;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.context.Flash;
import javax.servlet.http.HttpSession;
import dao.PerfilDao;
import modelo.Perfil;

@ManagedBean(name="perfilBean")
public class PerfilBean {
	
	PerfilDao perfilDao = new PerfilDao();
	Perfil perfil = new Perfil();
	String email;
	
	public PerfilBean() {
		FacesContext fc = FacesContext.getCurrentInstance();  
		HttpSession session = (HttpSession) fc.getExternalContext().getSession(true);  
		email = (String) session.getAttribute("email");
		perfil.setEmail(email);
	}
	
	public String atualizar() throws ClassNotFoundException{
		perfil.setEmail(email);
		Flash flash = FacesContext.getCurrentInstance().getExternalContext().getFlash();
		flash.setKeepMessages(true);
		
		perfil.setFoto("/img/inquilino/perfil/"+email+".jpg");
		
		if(perfilDao.atualizar(perfil)){
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Perfil editado com sucesso", ""));

			return "visualizarperfilusuario";
		} else {
			
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro com o banco de dados", ""));
			return "inquilino/indexUsuario";
		}
		
	}

	public String editar() throws ClassNotFoundException{
		
		perfil = perfilDao.buscarPerfilEmail(email);
		
		return "/inquilino/editarperfilusuario";
	}

	public String visualizar() throws ClassNotFoundException{
	
		perfil = perfilDao.buscarPerfilEmail(email);
		
		return "/inquilino/visualizarperfilusuario.xhtml";	
	}
	
	public String cancelar() {
		return "indexUsuario";
	}	

	public Perfil getPerfil() {
		return perfil;
	}

	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}

}
